1. Technical Field
Apparatuses and methods consistent with the present inventive concept relate to data storage devices and more particularly to early de-allocation of a write buffer used to temporarily hold data before the data is sent to the data storage device.
2. Related Art
A data storage system may include various volatile and non-volatile storage devices such as a hard disk drive (HDD), an optical storage drive, and a solid state drive (SSD). In a SSD, a write buffer is used to temporarily hold data before it is sent to the memory controller to be written to the solid state memory, which may be, for example, but not limited to, a NAND device.
Generally, space in the write buffer is deallocated after the data in the write buffer is written successfully to the solid state memory. Referring to FIG. 1, data received by the SSD controller 110 is transferred by the controller front end 120 to the write buffer 130 where it is held before being sent to the memory controller 140. The memory controller 140 receives the data and transfers it to a temporary register 150 (e.g., page register that temporarily stores page(s) of data to be programmed) in the solid state memory 160 prior to the data being programmed into the nonvolatile memory units 170 of the solid state memory 160. After the data programming in the solid state memory 160 is completed successfully, the write buffer is de-allocated.
Programming the data from temporary register 150 to the solid state memory units 160 is a relatively time consuming operation (on the order of milliseconds) in comparison to other data transfer operations (on the order of microseconds) and causes significant delay in deallocating the write buffer. The delay in write buffer deallocation can result in reduced system throughput or require a large amount of buffer memory.